package jugadores;

import batallones.Batallon;
import batallones.JugadorParaBatallon;
import exceptions.UserException;


public class Soldado extends Jugador implements JugadorParaBatallon{

	@Override
	public void validarAtaque(Jugador jugador) {}

	@Override
	public Integer cantidadBalinesDeseados() {
		return this.getBalinesPoseidos() / 2;
	}

	@Override
	public void sufriAtaqueBatallon(Batallon batallon) {
		if(batallon.getJugadores().size() <= this.balinesPoseidos) {
			for (JugadorParaBatallon rival : batallon.getJugadores()) {
				this.darBala(rival);
			}
		} else {
			throw new UserException("El soldado no puede dar los valines correspondientes");
		}
	}

	private void darBala(JugadorParaBatallon rival) {
		rival.sumarBalas(1);
		this.restarBalas(1);
	}

	public void sumarBalas(int i) {
		super.sumarBalas(i);
		
	}

}
